/* 
 Este archivo es el encargado de "oir" los eventos desatados por el usuario.
 */

var tanqueEnUso = "tanque1";

function eventosPiloto( keyCode ) {
    var codes = {
            37 : 'left',
            38 : 'up',
            39 : 'right',
            40 : 'down',
            32 : 'space',
            88 : 'vistaMatriz'
    };
 
    if( typeof codes[ keyCode ] != 'undefined' ) {
            var newDirection = codes[ keyCode ], changeDirection = true;
            var json = ({});
            switch( newDirection )
            {
                    case 'up' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : "piloto",
                                "tecla": "arriba"
                            });
                            sendText(json);
                            break;
                    case 'down' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : "piloto",
                                "tecla": "abajo"
                            });
                            sendText(json);
                            break;
                    case 'right' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : "piloto",
                                "tecla": "der"
                            });
                            sendText(json);
                            break;
                    case 'left' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : "piloto",
                                "tecla": "izq"
                            });
                            sendText(json);
                            break;
                   case 'space' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : "drone",
                                "tecla" : "space"
                                });
                            sendText(json);
                            break;
                  
                  case 'vistaMatriz' :
                      json = JSON.stringify(
                      {
                        "accion" : "vistaMatriz",
                      });
                      sendText(json);
                      break;
                 
            }

    }
    }



function eventosAmbos( keyCode ) {
    var codes = {
            27 : 'menu'
        };
        
     if( typeof codes[ keyCode ] != 'undefined' ) {
            var newDirection = codes[ keyCode ], changeDirection = true;
           console.log('eventosAmbos');
            switch( newDirection ) {
                    case 'menu' :
                        
                       json = JSON.stringify({
                                "accion" : "pausar"
                            });
                            sendText(json);
                      if ( $( "#panelDelMenu" ).dialog( "isOpen" )){
                           
                            
                          $( "#panelDelMenu" ).dialog( "close" );
                      }
                      else{
                          
                          $( "#panelDelMenu" ).dialog({ show: { effect: "blind", duration: 800 } });
                          $( document ).unbind('keydown');
                          $( document ).bind('keydown', function( e ){
                              eventosAmbos( e.keyCode );
                            });
                      }
                      
                        break;
                }
            }
    
}
function eventosTanques( keyCode ) {
   
    var codes = {
            37 : 'left',
            38 : 'up',
            39 : 'right',
            40 : 'down',
            32 : 'disparo',
            77 : 'cambiotanque'
    };
 
    if( typeof codes[ keyCode ] != 'undefined' ) {
        console.log('cargarEventosDelTanque');
            var newDirection = codes[ keyCode ], changeDirection = true;
            var json = ({});
            switch( newDirection ) {
                    case 'up' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : tanqueEnUso,
                                "tecla": "arriba"
                            });
                            sendText(json);
                            break;
                    case 'down' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : tanqueEnUso,
                                "tecla": "abajo"
                            });
                            sendText(json);
                            break;
                    case 'right' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : tanqueEnUso,
                                "tecla": "der"
                            });
                            sendText(json);
                            break;
                    case 'left' :
                            json = JSON.stringify({
                                "accion" : "mover",
                                "actor" : tanqueEnUso,
                                "tecla": "izq"
                            });
                            sendText(json);
                            break;
                    case 'cambiotanque'  :
                        console.log("Toco m");
                        if (tanqueEnUso == "tanque1"){
                            tanqueEnUso = "tanque2";
                        }
                        else{
                            tanqueEnUso = "tanque1";
                        }
                        break;
                    case 'disparo'      :
                        json = JSON.stringify({
                                "accion" : "disparar",
                                "actor" : tanqueEnUso
                            });
                            sendText(json);
                        break;
                   
                      
                    
            }
        }
    }